package com.cysoft.third.echarts.component.visualMap.continuous;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.visualMap.continuous
 * @date 2025/3/13 01:00
 * @desc 视觉映射文本样式配置，用于设置 visualMap 文字的样式。
 */
public class VisualMapTextStyle {

    /**
     * visualMap 文字的颜色。
     */
    private String color = "#333";
    /**
     * visualMap 文字字体的风格，可选值为 'normal'、'italic'、'oblique'。
     */
    private String fontStyle = "normal";
    /**
     * visualMap 文字字体的粗细，可选值为 'normal'、'bold'、'bolder'、'lighter' 或数字 100 - 900。
     */
    private String fontWeight = "normal";
    /**
     * visualMap 文字的字体系列，还可以是 'serif'、'monospace'、'Arial'、'Courier New'、'Microsoft YaHei' 等。
     */
    private String fontFamily = "sans-serif";
    /**
     * visualMap 文字的字体大小。
     */
    private Integer fontSize = 12;
    /**
     * 行高。rich 中如果没有设置 lineHeight，则会取父层级的 lineHeight。
     */
    private Integer lineHeight;
    /**
     * 文本显示宽度。
     */
    private Integer width;
    /**
     * 文本显示高度。
     */
    private Integer height;
    /**
     * 文字本身的描边颜色。
     */
    private String textBorderColor;
    /**
     * 文字本身的描边宽度。
     */
    private Integer textBorderWidth;
    /**
     * 文字本身的描边类型，可选值为 'solid'、'dashed'、'dotted'，自 v5.0.0 开始，也可以是 number 或者 number 数组，
     * 用以指定线条的 dash array，配合 textBorderDashOffset 可实现更灵活的虚线效果。
     */
    private Object textBorderType = "solid";
    /**
     * 用于设置虚线的偏移量，可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer textBorderDashOffset;
    /**
     * 文字本身的阴影颜色。
     */
    private String textShadowColor = "transparent";
    /**
     * 文字本身的阴影长度。
     */
    private Integer textShadowBlur;
    /**
     * 文字本身的阴影 X 偏移。
     */
    private Integer textShadowOffsetX;
    /**
     * 文字本身的阴影 Y 偏移。
     */
    private Integer textShadowOffsetY;
    /**
     * 文字超出宽度是否截断或者换行。配置 width 时有效，可选值为 'truncate'（截断，并在末尾显示 ellipsis 配置的文本，默认为 ...）、
     * 'break'（换行）、'breakAll'（换行，跟 'break' 不同的是，在英语等拉丁文中，'breakAll' 还会强制单词内换行）。
     */
    private String overflow = "none";
    /**
     * 在 overflow 配置为 'truncate' 的时候，可以通过该属性配置末尾显示的文本。
     */
    private String ellipsis = "...";
}
